home *** CD-ROM | disk | FTP | other *** search
/ Aminet 44 / Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso / Aminet / comm / misc / Camedia.readme < prev    next >
Text File  |  2001-07-04  |  11KB  |  277 lines

  1. Short:    Get pictures from Camedia digital camera
  2. Author:   afleuti@iiic.ethz.ch (Andreas Patrick Fleuti), TetiSoft@apg.lahn.de (Detlef Würkner)
  3. Uploader: TetiSoft@apg.lahn.de (Detlef Würkner)
  4. Version:  0.43
  5. Type:     comm/misc
  6.  
  7. This is the new version of Camedia.
  8. Camedia is a the name of my digital camera from Olympus.
  9. To be precise, it's name is Camedia C-900 Zoom, in US, the same camera is called 400Z.
  10.  
  11. What does the program:
  12. ----------------------
  13. - copy pictures from the camera to the computer
  14. - copy thumbnails (tiny pictures) from the camera to the computer
  15. - shows some infos about the camera and it's pictures
  16. - shows a preview
  17. - delete pictures
  18.  
  19.  
  20. What's new:
  21. -----------
  22.  
  23. 0.43
  24. Changes by TetiSoft:
  25. Fixed source code to be compatible with SAS/C 6.58 and recompiled with it.
  26. Fixed compiler warnings.
  27. Fixed enforcer hits.
  28. Fixed some bugs.
  29. Added serial speed of 230400 Baud (untested).
  30. Added return codes to be usable in shell scripts.
  31. Added version string.
  32. Now also works with Camedia C-860L.
  33.  
  34. 0.42 beta
  35. Should now work with C400L
  36.  
  37. 0.41 beta
  38. I thought thumbails can't get bigger then about 4KB. Well I was wrong. 
  39. I set the buffer now dynamicly, which should be fine for all thumbails.
  40.  
  41. 0.4 beta
  42. Implemented new commands like 
  43. - TAKE_PICTURE, which asks the camera to take a picture, 
  44. - THUMBNAILS, is like RETR (retrieve) but instead of the big_picture, the camera sends a tiny one
  45.   (my jpeg.datatype was unable to load that tiny jpeg picture, but PhotoAlbum could do it)
  46. - DEL, which deletes pictures (* be careful about that, You won't get asked if You are sure! *)
  47.  
  48. I also changed the code from C++ back to C and here are the reasons why:
  49. The StormC compiler was UNABLE to compile my code. This behavior (this bug) is known, but
  50. there is no fix for it. This way, in C, everybody can extend my code with StormC without hoping the
  51. compiler will be nice as it was in C++.
  52. The bad news (just for programmers) is that they must take care of my own implementaion of try/catch 
  53. which is easy to understand. Also the functionoverloading (dump) was changed because of C.
  54.  
  55.  
  56. 0.3 beta
  57. The hardcoded DisplayID is gone. So the PREVIEW mode shows each time a screen mode requester.
  58. The restriction to true color mode is still there (16Bit, 24Bit works, I guess 15Bit too).
  59.  
  60. Fixed the unit-bug. Even You set the unit, the 0.2 beta version always used unit 0.
  61.  
  62. The source code is freely available. I decided to make it public, so everybody can enjoy it more.
  63. [Take a look at the infos about the source code at the end of this file]
  64.  
  65. 0.2 beta
  66. You don't need any longer 600 KB free memory.
  67. The memory requirements are about 50 KB when retrieving pictures or using the info function.
  68. When using the preview function, You need about 300 KB, Cybergraphics, jpeg.library and a 24Bit Graphic-Board.
  69.  
  70. The old restriction using the serial.device at 57600 Baud is obsolote.
  71. You can set the device, the unit and the speed (9600, 19200, 38400, 57600 or 115200).
  72.  
  73. You can choose, which picture you like to retrive (from x to y).
  74.  
  75. You can set the name, the retrieved picture should have.
  76. The camera saves for each picture when it was taken. This is saved (as before) in the comment.
  77. However, if this date doesn't make real sense, the comment will be set to "No Date" (that's new).
  78.  
  79. There is an info function. This shows you many information about your camera, and the stored pictures.
  80.  
  81. A preview function, which turns your camera into a (inexpensive ?) video camera.
  82. This way, You can watch yourself at your display :) 
  83. To use this feature, you need:
  84. - about 300 KB memory for the program (plus some more for the 24 Bit screen)
  85. - jpeg.library, which can be found at Aminet
  86. - Cybergraphics
  87. - a graphic card, which has the DisplayID  0x40120051 (24Bit, 640x480, Cybervision?)
  88. P.S. (BestCModeIDTags() seems not work for me...that's why DisplayID is hardcoded) 
  89.  
  90. You are able to retrieve uncompressed pictures. The old version crashes when you try to get 
  91. uncompressed pictures! the uncompressed pictures will be saved in tiff, but it's filename ends with
  92. .jpeg - next version will be better :)
  93.  
  94.  
  95. Requirements: 
  96. -------------
  97. OS 3.0 or higher (should work with OS 2.1 as well)
  98. normaly about 50 KB free memory
  99. a Camedia digital camera from Olympus
  100.  
  101.  
  102. for the preview function, you need:
  103. -----------------------------------
  104. about 300 KB memory for the program (plus some more for the true color screen)
  105. jpeg.library, which can be found at Aminet
  106. Cybergraphics
  107. a graphic card
  108.  
  109.  
  110.  
  111. How to use this software:
  112. ------------------------
  113. - Connect the camera to the serial port and turn the camera on.
  114.  
  115. - Open a shell where you have access to the program Camedia.
  116.  
  117.  
  118. INFO:
  119. =====
  120. - type "Camedia INFO" to get infos about your camera
  121.  
  122.  
  123. RETR:
  124. =====
  125. - type "Camedia RETR" to get all pictures, which will be stored localy.
  126.   The pictures will have the name "picture_1.jpeg", "picture_2.jpeg" and so on.
  127.   
  128. - type "Camedia RETR from 3" to get the pictures 3, 4, and so on 
  129.  
  130. - type "Camedia RETR from 3 to 5" to get the pictures 3, 4 and 5
  131.  
  132. - type "Camedia RETR from 3 to 3" to get only the picture 3.
  133.  
  134. - type "Camedia RETR to 3" to get the picture 1, 2 and 3.
  135.  
  136. THUMBAILS:
  137. ==========
  138. This behaves exactly like RETR except that it get thumbnails instead of the big pictures.
  139.  
  140. - type "Camedia THUMBAILS" to get all thumbnails (tiny pictiures), which will be stored localy.
  141.   The thumbails will have the name "picture_1.jpeg", "picture_2.jpeg" and so on.
  142.  
  143. DEL:
  144. ====
  145. This behaves exactly like RETR except that it will delete instead of getting the big pictures.
  146. WARNING: The software won't ask you if you realy like to delete the picture in the camera, so be careful.
  147.  
  148.  
  149. Options for RETR or THUMBNAILS:
  150. -------------------------------
  151. - type "Camedia RETR Name my_name" to get all picture, which will get the name 
  152.   "my_name_1.jpeg", "my_name_2.jpeg" and so on.
  153.  
  154.  
  155. Note:
  156. ----
  157. If You have an uncompressed picture, then it will be saved in the format tiff.
  158. However, the filename ends with .jpeg. Next release will be better :)
  159.  
  160. Make sure you have enough disk space for the pictures. The disk should be reasonable fast
  161. (so if You wanna use floppy, ok, but then make sure, no other program access the floppy).
  162.  
  163. PREVIEW:
  164. ========
  165. - type "Camedia PREVIEW" to use your camera as a video camera.
  166.   You can resize the window. To quit, close the window.
  167.  
  168.  
  169. Important options:
  170. ==================
  171. In all the modes (INFO, THUMBNAILS, RETR, DEL and PREVIEW), you can set device, the devie unit and the speed.
  172.  
  173. - type "Camedia DEVICE my_serial.device UNIT 0 SPEED 115200 RETR" to get all pictures.
  174.  
  175.  
  176. Notes:
  177. -----
  178. The program will NOT delete the pictures in the camera when You just retrieve the pictures.
  179. However, in the mode DEL (delete), the program DOES delete the pictures in the camera.
  180. If You like to stop the program, do a CTRL-C or CTRL-F.
  181.  
  182.  
  183. Problems:
  184. --------
  185. If there is a problem, You will get some hints, but they are mainly useful for
  186. me, maybe not so much for You.
  187. Reading from the camera fails sometimes when
  188. - You type some text during the program tries to make some output on the console *
  189. - You press the right mouse button very long
  190. - Your computer is very busy
  191. - the batteries of Your camera are too low **
  192.  
  193. * when You type some text in the console, the program might can't go on.
  194.   Cause the camera will disconnect after a while (maybe five seconds), when not
  195.   retrieving any data from the computer, You shouldn't type in the console the
  196.   program is running.
  197.  
  198. ** Well, right now, that's Your task. In future, I might will warn You "batteries
  199.    are low", cause I can read the capacity of the batteries with a command.
  200.    
  201. -----------------------------------------------------------------------------------------------
  202.    Important: If you have any problem (like timeout), make sure to put fully charged batteries
  203.               in your camera. If you still have problem, e-mail me.
  204. -----------------------------------------------------------------------------------------------
  205.  
  206.  
  207. Must it be a Camedia digital camera from Olympus?
  208. ------------------------------------------------
  209. The protocol to communicate with digital cameras seems to be very much the same
  210. for many cameras like Fuji, Epson, Sanjo, Agfa and Olympus.
  211. The problem is the protocol is NOT official available, but there is some good
  212. information at:
  213. http://www.average.org/digicam/
  214.  
  215. So probably, this program works also with other digital cameras. Please tell me Your
  216. experiences.
  217.  
  218.  
  219. Is the program dangerous for my camera?
  220. --------------------------------------
  221. Of course I don't guarantee anything, except that it worked for me five minutes ago.
  222. I played a lot with my camera, and sometimes I got strange behaviors. Till today, I
  223. was unable to destroy or damage my camera by sending commands to it.
  224. To make a conclusion out of my experiences is up to Your risk.
  225.  
  226.  
  227. Infos about the source code
  228. ---------------------------
  229.  
  230. The source code is split up in two parts.
  231. Camedia.c has many nice functions, it does the communication and some more.
  232. camprg.c is an example how to use the functions in Camedia.c
  233.  
  234. Camedia.h is pretty important, cause all constants, definitions and prototypes are set there.
  235.  
  236. Please study http://www.average.org/digicam/ 
  237. There you can find many infos about how the protocol looks like. You don't neet this infos,
  238. but of course it helps a lot. To get an overview of the available register, it's helpful.
  239.  
  240. There are two ways to use Camedia.c's function. 
  241. The easy way is to use the Set_XXX(...) and Get_XXX(...) functions.
  242. These functions are wrappers to make your life easier (I hope so :)
  243. The other way to use Camedia.c's function is more direct.
  244. For that, You have only these four functions:
  245.  
  246. void SetIntegerRegister(enum Command_0, L4, error_msg);
  247. void ReadIntegerRegister(enum Command_1, L4 *, error_msg);
  248. void TakeAction(enum Action_Code action, L1 arg, error_msg);
  249. void ReadVDataRegister(enum Command_4, L1 *, L4 *, error_msg);
  250.  
  251. There should be a fifth function, but I did't implement this one:
  252. (NOT implemented yet: void SetVDataRegister(enum Command_3, L1 *, L4);  )
  253.  
  254. the error_msg is of type char*. It's used instead of try and catch. Whenever a error occured in the
  255. function, it will return AND it will have an explaining message in error_msg, which You can and maybe
  256. should printf("%s\n", error_msg);
  257.  
  258. The code itself should be clear.
  259. The 'not so nice' part of Camedia.h is the macro definition (header files shouldn't contain code...)
  260.  
  261.  
  262. ============================= Archive contents =============================
  263.  
  264. Original  Packed Ratio    Date     Time    Name
  265. -------- ------- ----- --------- --------  -------------
  266.      628     268 57.3% 07-Jun-01 10:51:20  Camedia.info
  267.    27456   14894 45.7% 07-Jun-01 10:36:18 +Camedia
  268.    37512    7811 79.1% 07-Jun-01 10:09:08 +Camedia.c
  269.    12399    3129 74.7% 07-Jun-01 10:33:04 +Camedia.h
  270.    10395    4155 60.0% 07-Jun-01 10:46:36 +Camedia.readme
  271.     1344     495 63.1% 26-Jun-99 10:53:56 +Camedia.¶
  272.    21809    5981 72.5% 07-Jun-01 10:36:00 +camprg.c
  273.     4301    1339 68.8% 07-Jun-01 10:32:52 +camprg.h
  274.      626     363 42.0% 07-Jun-01 10:47:10 +smakefile
  275. -------- ------- ----- --------- --------
  276.   116470   38435 67.0% 09-Jun-101 12:51:10   9 files
  277.